#!/bin/bash

# 阈值，单位是 MB
threshold=15360

# 获取当前可用内存量，单位是 MB
free_memory=$(free -m | awk 'NR==2{print $4}')

# 获取总内存量，单位是 MB
total_memory=$(free -m | awk 'NR==2{print $2}')

# 计算已用内_memory量
used_memory=$((total_memory - free_memory))

echo "当前已使用内存：$used_memory MB"

if [ $used_memory -gt $threshold ]; then
    echo "内存使用量超过阈值，正在关闭最新打开的程序..."

    # 获取最新打开的进程的 PID
    newest_pid=$(ps -eo pid,%mem,%cpu --sort=-%mem | awk 'NR==2 {print $1}')

    # 关闭该进程
    kill -9 $newest_pid

    echo "已关闭 PID 为 $newest_pid 的进程"
fi







